package dao

import (
	"time"
)

// 这是 SmsFlashPromotionLog 的全局公开dao对象，被service层调用!
var SmsFlashPromotionLogDao = smsFlashPromotionLogDao{}

// 这是 sms_flash_promotion_log表 的实体类
type SmsFlashPromotionLog struct {
	Id            int32     `json:"id" form:"id" v:"id"` // 编号
	MemberId      int32     `json:"member_id" form:"member_id" v:"member_id"`
	MemberPhone   string    `json:"member_phone" form:"member_phone" v:"member_phone"`
	ProductId     int64     `json:"product_id" form:"product_id" v:"product_id"`
	ProductName   string    `json:"product_name" form:"product_name" v:"product_name"`
	SendTime      time.Time `json:"send_time" form:"send_time" v:"send_time"`
	SubscribeTime time.Time `json:"subscribe_time" form:"subscribe_time" v:"subscribe_time"` // 会员订阅时间

}

// 注意:这是 SmsFlashPromotionLog 的私有dao对象，只能在dao层内使用!
type smsFlashPromotionLogDao struct {
	InsertTemplate func(arg SmsFlashPromotionLog) (int64, error)                               //插入一条记录
	UpdateTemplate func(arg SmsFlashPromotionLog) (int64, error)                               //更新一条记录
	DeleteTemplate func(id int64) (int64, error)                                               `args:"id"`                         //根据传入的主键删除一条记录
	SelectTemplate func(id int64) (SmsFlashPromotionLog, error)                                `args:"id"`                         //根据传入的主键获取一条记录
	List           func(keyword string, pageNum, pageSize int) ([]SmsFlashPromotionLog, error) `args:"keyword,page_num,page_size"` //模糊分页查询
}

/*
// 这是 sms_flash_promotion_log 表的Postman测试参数
// 该结构体中的字段就是: 前后端交互的json字段!
type SmsFlashPromotionLogPostman struct {
id
member_id
member_phone
product_id
product_name
send_time
subscribe_time

}*/

// 这是 sms_flash_promotion_log 表的批量请求参数
type SmsFlashPromotionLogReq struct {
	List []SmsFlashPromotionLog `json:"list" form:"list"`
}
